package com.rj.ability.leqi.req;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.rj.core.validation.constraints.StringField;
import com.rj.util.AssertUtils;
import com.rj.util.VerifyUtils;
import lombok.Data;

/**
 * 附加要素
 *
 * @author YFX_RANLUBO
 * @date 2024/04/30 15:42
 **/
@Data
public class FjysData {
    /**
     * 附加要素名称  String  200  否
     */
    @JsonProperty("additionalElementName")
    @StringField(value = "附加要素名称", maxLen = 200)
    private String fjysmc;
    /**
     * 附加要素类型  String  200  否
     */
    @JsonProperty("additionalElementType")
    @StringField(value = "附加要素类型", maxLen = 200)
    private String fjyslx;
    /**
     * 附加要素值  String  200  否
     */
    @JsonProperty("additionalElementValue")
    @StringField(value = "附加要素值", maxLen = 200)
    private String fjysz;

    /**
     * 检查
     */
    public void check() {
        boolean fmc = VerifyUtils.isEmpty(fjysmc);
        boolean flx = VerifyUtils.isEmpty(fjyslx);
        boolean fz = VerifyUtils.isEmpty(fjysz);
        AssertUtils.isTrue(fmc == flx && flx == fz, "附加要素名称、附加要素类型、附加要素值必须同时为空或同时不为空");
    }
}
